草庐IT

php - 将分钟向下舍入到最近的刻钟

全部标签

ruby - 截断 float 而不向上舍入

我有一个float,我想截断到3个位置,但我不想四舍五入。例如,将1.0155555555555555转换为1.015(而不是1.016)。我将如何在Ruby中执行此操作? 最佳答案 您还可以转换为BigDecimal,然后对其调用truncate。1.237.to_d.truncate(2).to_f#willreturn1.23 关于ruby-截断float而不向上舍入,我们在StackOverflow上找到一个类似的问题: https://stackov

ruby-on-rails - 计算最近 7 天内创建的记录

如何更改下面的查询以仅选择过去7天内创建的记录?self.favorites.count此函数位于我的User模型中。defcalculate_user_scoreunlessself.new_record?self.score=(self.links.count*5)+(self.favorites.count*0.5)endend 最佳答案 您可以像这样添加一个where条件:self.favorites.where('created_at>=?',1.week.ago).count对于您的calculate_user_scor

Ruby 2.0 - 将整数舍入到最接近的 10 的倍数

如何将整数四舍五入到最接近的十的倍数?我试过integer.round(0.1)但它给出了最接近的decimal数字。示例:3应返回0,55应返回60。有没有一种方法可以四舍五入到最接近的10的倍数? 最佳答案 Integer#round具有功能。您将一个负数传递给round以表示您要四舍五入到哪个10位。例如:四舍五入到最接近的10:55.round(-1)#=>60四舍五入到最接近的100:550.round(-2)#=>600 关于Ruby2.0-将整数舍入到最接近的10的倍数,我

ruby - 将 ruby float 向上或向下舍入到最接近的 0.05

我得到像这样的数字2.363636363636364.5675631.23456646544846510.5857447736我如何让Ruby将这些数字向上(或向下)舍入到最接近的0.05? 最佳答案 [2.36363636363636,4.567563,1.23456646544846,10.5857447736].mapdo|x|(x*20).round/20.0end#=>[2.35,4.55,1.25,10.6] 关于ruby-将rubyfloat向上或向下舍入到最接近的0.05

如果整数,则 Ruby 将 float 舍入为 int

在ruby​​中,如果float是整数,我想将其转换为int。例如a=1.0b=2.5a.to_int_if_whole#=>1b.to_int_if_whole#=>2.5基本上,我试图避免在任何没有小数的数字上显示“.0”。我正在寻找一种优雅的(或内置的)方式来做defto_int_if_whole(float)(float%1==0)?float.to_i:floatend 最佳答案 一个简单的方法是:classFloatdefprettifyto_i==self?to_i:selfendend那是因为:irb>1.0==1=

sql - 通过关联的 Rails 查询仅限于最近的记录?

classUserhas_many:books我需要一个返回的查询:最近一本书具有:complete=>true的用户。即,如果用户最近的书有:complete=>false,我不希望它们出现在我的结果中。到目前为止我有什么User.joins(:books).merge(Book.where(:complete=>true))这是一个很有希望的开始,但没有给我需要的结果。我试过添加.order("created_ondesc").limit(1)到上述查询的末尾,但是当我期待很多结果时,我最终只得到一个结果。谢谢! 最佳答案 如果

ruby-on-rails - 是否有与 PHP 的 isset() 等效的 Rails?

基本上只是检查以确保设置了url参数。我如何在PHP中做到这一点:if(isset($_POST['foo'])&&isset($_POST['bar'])){}这是RoR中isset()的粗略/最佳等价物吗?if(!params['foo'].nil?&&!params['bar'].nil?)end 最佳答案 更接近的匹配可能是#present?#returnstrueifnotnilandnotblankparams['foo'].present?还有一些其他的方法#returnstrueifnilparams['foo'].

ruby-on-rails - 在 Ruby 中减去日期并得到以分钟为单位的差异

我如何在Ruby中减去两个不同的UTC日期,然后得到以分钟为单位的差异?谢谢 最佳答案 如果减去两个Date或DateTime对象,结果是一个Rational表示它们之间的天数。你需要的是:a=Date.new(2009,10,13)-Date.new(2009,10,11)(a*24*60).to_i#2880minutes或a=DateTime.new(2009,10,13,12,0,0)-DateTime.new(2009,10,11,0,0,0)(a*24*60).to_i#3600minutes

ruby-on-rails - 如何展平阵列阵列 - 但不是一直向下

什么是最好的转换方式[[["ClubthreeTeamone",7800],["ClubthreeTeamtwo",7801]],[],[["ClubfourTeamone",7807],["ClubfourTeamtwo",7808]],[]]进入[["ClubthreeTeamone",7800],["ClubthreeTeamtwo",7801],["ClubfourTeamone",7807],["ClubfourTeamtwo",7808]]ruby?flatten将其一直转换为["ClubthreeTeamone",7303,"ClubthreeTeamtwo",7304,

ruby - 如何在 Ruby 中将时间舍入到最接近的 15 分钟?

有没有一种简单的方法可以将时间四舍五入到最接近的15分钟?这就是我目前正在做的事情。有更简单的方法吗?t=Time.newrounded_t=Time.local(t.year,t.month,t.day,t.hour,t.min/15*15) 最佳答案 您说的是“向下舍入”,所以我不确定您实际上是在寻找回合数还是底数,但这是执行这两项操作的代码。如果将round_off和floor方法添加到Time类,我认为这样的内容读起来真的很好。额外的好处是您可以更轻松地按任何时间分区舍入。require'active_support/cor